package main

import (
	"fmt"
	"net"
)

func test1() {
	fmt.Println("start sever...")
	// 创建一个listener
	listener, err := net.Listen("tcp", "localhost:5500")
	if err != nil {
		fmt.Println("create fail", err.Error())
		return
	}

	// 循环监听客户端的连接
	for {
		conn, err := listener.Accept()
		if err != nil {
			fmt.Println("accept error", err.Error())
			return
		}
		// 对于这个链接进行处理
		go connHandler(conn)
	}
}

func connHandler(conn net.Conn) {
	// 从链接中读取数据
	for {
		buf := make([]byte, 512)
		readLen, err := conn.Read(buf)
		if err != nil {
			fmt.Println("read error", err.Error())
			return
		}
		fmt.Println("read data:", string(buf[:readLen]))
	}
}

func main() {
	test1()
}
